#ifndef OBJECTMANAGER_H_
#define OBJECTMANAGER_H_

#include <Box2D\Box2D.h>
#include <SFML\Graphics.hpp>
#include <iostream>
#include "RectEntity.h"
#include "GroundEntity.h"
#include "CircleEntity.h"
#include "Enums.h"

class ObjectManager
{
public:
	ObjectManager(b2World *gameWorld);
	~ObjectManager();

	void addBox(b2Vec2 size, b2Vec2 location, BodyType bodyType, float density, float friction, sf::Color rectColor);
	void addCircle(float radius, b2Vec2 location, BodyType bodyType, float density, float friction, sf::Color circleColor);
	void addGround(float depth, float length);
	void clearObjects();

	GroundEntity getGround();

	std::vector<RectEntity*> getActiveRectList();
	std::vector<CircleEntity*> getActiveCircleList();

private:
	void clearActiveObjects();


private:
	std::vector<RectEntity*> activeRectList;
	std::vector<CircleEntity*> activeCircleList;

	GroundEntity ground;
	b2World *gameWorld;

};

#endif